/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package in.co.sneh.model;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.commons.fileupload.FileItemStream;

/**
 *
 * @author CEBALLOS
 */
public class FileUpload {

    private int cedula;
    private String nombre;
    private String foto;
    private InputStream imagen;
    private String bd = "oracle";
    private String classfor = "com.mysql.jdbc.Driver";
    private String url = "jdbc:mysql://localhost/" + bd;
    private String usuario = "root";
    private String clave = "city123";
    private Connection con = null;
    private PreparedStatement pr = null;
    private ResultSet rs = null;

    public static boolean ProcesarArchivo(String ruta, FileItemStream item) {
        try {
            File f = new File(ruta + File.separator + "images");

            if (!f.exists()) {
                f.mkdir();
            }
            {

                File savedFile = new File(f.getAbsolutePath() + File.separator + item.getName());
                FileOutputStream fos = new FileOutputStream(savedFile);
                InputStream is = item.openStream();
                int x = 0;
                byte[] b = new byte[1024];

                while ((x = is.read(b)) != -1) {
                    fos.write(b, 0, x);
                }
                fos.flush();
                fos.close();
                return true;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        return false;


    }
    
   
    
    
    

    public void ProcesarArchivosql(String ruta, FileItemStream item) {
       
           cedula= 155;
           nombre="jaja";
           
           String sql="Insert into datos values( ?,?,?)";
           try {
            //File archivo = new File(ruta + File.separator + item);
           // File archivos= new File(ruta +item);
            File archivos = new File(ruta + File.separator + "images"+File.separator+item.getName());
            
             System.out.println("----- " + ruta + " ---- ");
             System.out.println("----- " + item.getName() + " ---- ");
           
            FileInputStream entrada = new FileInputStream(archivos);
           
                 

            Class.forName(classfor);
            con = DriverManager.getConnection(url, usuario, clave);

           

            pr = con.prepareStatement(sql);
            pr.setInt(1, cedula);
            pr.setString(2, nombre);
            pr.setBinaryStream(3, entrada, (int) archivos.length());

            pr.executeUpdate();
             //return true;
            
            System.out.println("EXITO!!!!!");
            

        } catch (FileNotFoundException | ClassNotFoundException | SQLException e) {
            System.out.println("ERROR!!!!!");
        }
     }
    
    

    public void ProcesarArchivosql(String ruta, FileItemStream item, int cedula, String nombre) {
        
        String sql="Insert into datos values( ?,?,?)";
           try {
            File archivos = new File(ruta + File.separator + "images"+File.separator+item.getName());
            
             System.out.println("----- " + ruta + " ---- ");
             System.out.println("----- " + item.getName() + " ---- ");
           
            FileInputStream entrada = new FileInputStream(archivos);
           
                 

            Class.forName(classfor);
            con = DriverManager.getConnection(url, usuario, clave);

           

            pr = con.prepareStatement(sql);
            pr.setInt(1, cedula);
            pr.setString(2, nombre);
            pr.setBinaryStream(3, entrada, (int) archivos.length());

            pr.executeUpdate();
             //return true;
            
            System.out.println("EXITO!!!!!");
            

        } catch (FileNotFoundException | ClassNotFoundException | SQLException e) {
       
            System.out.println("ACTUALIZANDO!!!!!");
        
        sql="update datos set nombre=?,foto=? where cedula=?";
         try {
            //File archivo = new File(ruta + File.separator + item);
           // File archivos= new File(ruta +item);
            File archivos = new File(ruta + File.separator + "images"+File.separator+item.getName());
            
             System.out.println("----- " + ruta + " ---- ");
             System.out.println("----- " + item.getName() + " ---- ");
           
            FileInputStream entrada = new FileInputStream(archivos);
           
                 

            Class.forName(classfor);
            con = DriverManager.getConnection(url, usuario, clave);

           

            pr = con.prepareStatement(sql);
            pr.setInt(1, cedula);
            pr.setString(2, nombre);
            pr.setBinaryStream(3, entrada, (int) archivos.length());

            pr.executeUpdate();
             //return true;
            
            System.out.println("EXITO!!!!!");
            

        }catch(ClassNotFoundException | SQLException | FileNotFoundException ec){
        }
     }
        
        
        
        
       
    }
}
